package samsung.sds.departmentManagement.service;

import java.util.List;

import samsung.sds.departmentManagement.model.DepartmentEntity;
import samsung.sds.system.common.baseQuery.BaseServiceInterface;
import samsung.sds.system.common.baseQuery.model.PageData;
import samsung.sds.system.common.model.QueryParam;
import samsung.sds.userManagement.model.UserEntity;


/**
 * @author wch.wu
 * @createDate 2016-01-15
 *
 * 组织机构管理Service
 */
public interface DepartmentManagementService extends BaseServiceInterface<DepartmentEntity>{
	
	/**
	 * 根据组织机构节点查询所有后代节点和自身节点信息
	 * @param deptId
	 * @return
	 */
	List<DepartmentEntity> queryDepartmentList( String deptId );
	
	/**
	 * 用户删除节点的时候业务逻辑（前提所有后代节点下都没有用户数据）
	 * @param departmentEntities
	 * @param deptId
	 * @return
	 */
	int deleteEntitys( List<DepartmentEntity> departmentEntities, String deptId );
	
	/**
	 * 查询用户分页列表（方法重写）
	 * @param param
	 * @return
	 */
	PageData<UserEntity> queryDepartmentUsersListPage(QueryParam param);
	
	/**
	 * 查询子节点
	 * @param param
	 * @return
	 */
	List<DepartmentEntity> queryListByParentId(QueryParam param);
	
	

	

}
